package ferrovias.clases;

public class Hora {

	private Integer hora;
	private Integer minuto;
	private Integer segundo;
	
	public Integer getHora() {
		return hora;
	}

	public Integer getMinuto() {
		return minuto;
	}

	public Integer getSegundo() {
		return segundo;
	}

	public Hora(int hora, int minuto, int segundo){
		this.hora=hora;
		this.minuto=minuto;
		this.segundo=segundo;
	}
	
	public Hora(int hora, int minuto){
		this(hora,minuto,0);
	}
	
	public Hora(){
		this(0,0,0);
	}
	
	public Hora(Hora h){
		this(h.hora,h.minuto,h.segundo);
	}
	
	public void sumarMinutos(int minutos){
		int mt=minuto+minutos;
		if(mt>59){
			int h=mt/60;
			minuto=mt-h*60;
			int ht=hora+h;
			if(ht>23){
				int t=ht/24;
				hora=ht-t*24;
			}
			else
				hora=ht;
		}
		else
			minuto=mt;
	}
	
	public Hora horaMasMinutos(int minutos){
		Hora nueva=new Hora(this);
		nueva.sumarMinutos(minutos);
		return nueva;		
	}
	
	public boolean esMayorQue(Hora h){
		if(hora > h.hora) return true;
		if(hora < h.hora) return false;
		if(minuto < h.minuto) return false;
		return true;
	}
	
	public boolean esMenorQue(Hora h){
		if(hora < h.hora) return true;
		if(hora > h.hora) return false;
		if(minuto > h.minuto) return false;
		return true;
	}
	
	public String toString(){
		return hora.toString()+":"+(minuto<10?"0":"")+minuto.toString();//+":"+(segundo<10?"0":"")+segundo.toString();
	}
}
